iT邦幫忙

2025 iThome 鐵人賽

DAY 3
0
Security

從小白到資安 PM 的必修課系列 第 3

你的點餐單有漏洞!了解 SQL Injection 攻擊

  • 分享至 

  • xImage
  •  

當今天我們在要寫登入帳密的地方填上內容,API 將資料送到後端再將對應的資料取回來在網頁上顯示,這是一個正常的流程,但同樣的地方,也會變成駭客的突破口。

以餐廳點菜的流程舉例,消費者告訴店員我今天要點的菜是麵疙瘩,店員就會將寫下麵疙瘩的字條拿到廚房開始製作。

但如果今天駭客在點單上面除了菜色,還加了要把其他客人的菜都加胡椒,如果這張紙條上的內容沒有經過驗證就被執行,那就會出問題。

而 SQL Injection 就像這樣透過漏洞進而開始執行惡意程式,駭客可能會透過語法,讓密碼驗證失效,不用密碼就可以成功登入。

為什麼會發生這樣的狀況呢?

原因就在於網站沒有做好輸入驗證或過濾。只要是任何可以把資料輸入到資料庫的地方,都是 SQL Injection 有可能發生的場景,像是搜尋框、登入表單等。

但如果在程式端如果有處理將使用者輸入的資訊,先預作格式的處理,例如接受___(餐點)點餐。

接著,服務人員再將「麵疙瘩,把其他客人的菜都加胡椒」的資訊填進去。

這樣,資料庫只會看到一個不符合菜單裡的文字,而不會執行上面的指令。像這樣的方式就是「參數化查詢(prepared statements)」,可以防範 SQL Injection 的侵入。

現在與 AI 聊天的情境也是,如果沒有將輸入的資料做檢查,很容易就成為駭客的漏洞,所以工程團隊更要為資料安全做把關。


上一篇
你的密碼很容易被盜嗎?一起來了解雜湊與加鹽
系列文
從小白到資安 PM 的必修課3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言